/*
 * Copyright (C) 2021 Huawei Device Co., Ltd.
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package uk.co.samuelwall.materialtaptargetprompt.extras;

import ohos.agp.components.element.StateElement;
import ohos.agp.text.Font;
import ohos.agp.utils.Color;
import uk.co.samuelwall.materialtaptargetprompt.utils.Constants;

/**
 * StyleBean
 *
 * @since 2021-06-21
 */
public class StyleBean {
    /**
     * FONT_BOLD
     */
    public static final int FONT_BOLD = 1;
    /**
     * FONT_ITALIC
     */
    public static final int FONT_ITALIC = 2;
    private int mttpPrimaryTextColour = Color.WHITE.getValue();
    private int mttpSecondaryTextColour = Color.argb(
            Constants.NUM_179, Constants.NUM_255, Constants.NUM_255, Constants.NUM_255);
    private String mttpPrimaryText = "";
    private String mttpSecondaryText = "";
    private int mttpBackgroundColour = Color.argb(
            Constants.NUM_244, Constants.NUM_63, Constants.NUM_81, Constants.NUM_181);
    private int mttpFocalColour = Color.WHITE.getValue();
    private float mttpFocalRadius;
    private float mttpPrimaryTextSize;
    private float mttpSecondaryTextSize;
    private float mttpMaxTextWidth;
    private float mttpTextPadding;
    private float mttpFocalToTextPadding;
    private float mttpTextSeparation;
    private boolean isMttpAutoDismiss = true;
    private boolean isMttpAutoFinish = true;
    private boolean isMttpCaptureTouchEventOutsidePrompt;
    private boolean isMttpCaptureTouchEventOnFocal;
    private boolean isMttpCaptureTouchEventOnBackgroundPrompt = true;
    private int mttpPrimaryTextStyle;
    private int mttpSecondaryTextStyle;
    private Font mttpPrimaryTextFont = null;
    private String mttpPrimaryTextFontFamily = "";
    private Font mttpSecondaryTextFont;
    private String mttpSecondaryTextFontFamily = "";
    private String mttpContentDescription = "";
    private StateElement mttpIconTint = null;
    private int mttpIconTintMode = Constants.NUM_F1;
    private int mttpTarget = 0;
    private int mttpIconColourFilter = Color.argb(
            Constants.NUM_244, Constants.NUM_63, Constants.NUM_81, Constants.NUM_181);

    public boolean isMttpCaptureTouchEventOnBackgroundPrompt() {
        return isMttpCaptureTouchEventOnBackgroundPrompt;
    }

    public void setMttpCaptureTouchEventOnBackgroundPrompt(boolean isCaptureTouchEventOnBackgroundPrompt) {
        isMttpCaptureTouchEventOnBackgroundPrompt = isCaptureTouchEventOnBackgroundPrompt;
    }

    public int getMttpPrimaryTextColour() {
        return mttpPrimaryTextColour;
    }

    public void setMttpPrimaryTextColour(int mttpPrimaryTextColour) {
        this.mttpPrimaryTextColour = mttpPrimaryTextColour;
    }

    public int getMttpSecondaryTextColour() {
        return mttpSecondaryTextColour;
    }

    public void setMttpSecondaryTextColour(int mttpSecondaryTextColour) {
        this.mttpSecondaryTextColour = mttpSecondaryTextColour;
    }

    public String getMttpPrimaryText() {
        return mttpPrimaryText;
    }

    public void setMttpPrimaryText(String mttpPrimaryText) {
        this.mttpPrimaryText = mttpPrimaryText;
    }

    public String getMttpSecondaryText() {
        return mttpSecondaryText;
    }

    public void setMttpSecondaryText(String mttpSecondaryText) {
        this.mttpSecondaryText = mttpSecondaryText;
    }

    public int getMttpBackgroundColour() {
        return mttpBackgroundColour;
    }

    public void setMttpBackgroundColour(int mttpBackgroundColour) {
        this.mttpBackgroundColour = mttpBackgroundColour;
    }

    public int getMttpFocalColour() {
        return mttpFocalColour;
    }

    public void setMttpFocalColour(int mttpFocalColour) {
        this.mttpFocalColour = mttpFocalColour;
    }

    public float getMttpFocalRadius() {
        return mttpFocalRadius;
    }

    public void setMttpFocalRadius(float mttpFocalRadius) {
        this.mttpFocalRadius = mttpFocalRadius;
    }

    public float getMttpPrimaryTextSize() {
        return mttpPrimaryTextSize;
    }

    public void setMttpPrimaryTextSize(float mttpPrimaryTextSize) {
        this.mttpPrimaryTextSize = mttpPrimaryTextSize;
    }

    public float getMttpSecondaryTextSize() {
        return mttpSecondaryTextSize;
    }

    public void setMttpSecondaryTextSize(float mttpSecondaryTextSize) {
        this.mttpSecondaryTextSize = mttpSecondaryTextSize;
    }

    public float getMttpMaxTextWidth() {
        return mttpMaxTextWidth;
    }

    public void setMttpMaxTextWidth(float mttpMaxTextWidth) {
        this.mttpMaxTextWidth = mttpMaxTextWidth;
    }

    public float getMttpTextPadding() {
        return mttpTextPadding;
    }

    public void setMttpTextPadding(float mttpTextPadding) {
        this.mttpTextPadding = mttpTextPadding;
    }

    public float getMttpFocalToTextPadding() {
        return mttpFocalToTextPadding;
    }

    public void setMttpFocalToTextPadding(float mttpFocalToTextPadding) {
        this.mttpFocalToTextPadding = mttpFocalToTextPadding;
    }

    public float getMttpTextSeparation() {
        return mttpTextSeparation;
    }

    public void setMttpTextSeparation(float mttpTextSeparation) {
        this.mttpTextSeparation = mttpTextSeparation;
    }

    public boolean isMttpAutoDismiss() {
        return isMttpAutoDismiss;
    }

    public void setMttpAutoDismiss(boolean isAutoDismiss) {
        isMttpAutoDismiss = isAutoDismiss;
    }

    public boolean isMttpAutoFinish() {
        return isMttpAutoFinish;
    }

    public void setMttpAutoFinish(boolean isAutoFinish) {
        isMttpAutoFinish = isAutoFinish;
    }

    public boolean isMttpCaptureTouchEventOutsidePrompt() {
        return isMttpCaptureTouchEventOutsidePrompt;
    }

    public void setMttpCaptureTouchEventOutsidePrompt(boolean isOutsidePrompt) {
        isMttpCaptureTouchEventOutsidePrompt = isOutsidePrompt;
    }

    public boolean isMttpCaptureTouchEventOnFocal() {
        return isMttpCaptureTouchEventOnFocal;
    }

    public void setMttpCaptureTouchEventOnFocal(boolean isOnFocal) {
        isMttpCaptureTouchEventOnFocal = isOnFocal;
    }

    public int getMttpPrimaryTextStyle() {
        return mttpPrimaryTextStyle;
    }

    public void setMttpPrimaryTextStyle(int mttpPrimaryTextStyle) {
        this.mttpPrimaryTextStyle = mttpPrimaryTextStyle;
    }

    public int getMttpSecondaryTextStyle() {
        return mttpSecondaryTextStyle;
    }

    public void setMttpSecondaryTextStyle(int mttpSecondaryTextStyle) {
        this.mttpSecondaryTextStyle = mttpSecondaryTextStyle;
    }

    public Font getMttpPrimaryTextFont() {
        return mttpPrimaryTextFont;
    }

    public void setMttpPrimaryTextFont(Font mttpPrimaryTextFont) {
        this.mttpPrimaryTextFont = mttpPrimaryTextFont;
    }

    public String getMttpPrimaryTextFontFamily() {
        return mttpPrimaryTextFontFamily;
    }

    public void setMttpPrimaryTextFontFamily(String mttpPrimaryTextFontFamily) {
        this.mttpPrimaryTextFontFamily = mttpPrimaryTextFontFamily;
    }

    public Font getMttpSecondaryTextFont() {
        return mttpSecondaryTextFont;
    }

    public void setMttpSecondaryTextFont(Font mttpSecondaryTextFont) {
        this.mttpSecondaryTextFont = mttpSecondaryTextFont;
    }

    public String getMttpSecondaryTextFontFamily() {
        return mttpSecondaryTextFontFamily;
    }

    public void setMttpSecondaryTextFontFamily(String mttpSecondaryTextFontFamily) {
        this.mttpSecondaryTextFontFamily = mttpSecondaryTextFontFamily;
    }

    public String getMttpContentDescription() {
        return mttpContentDescription;
    }

    public void setMttpContentDescription(String mttpContentDescription) {
        this.mttpContentDescription = mttpContentDescription;
    }

    public StateElement getMttpIconTint() {
        return mttpIconTint;
    }

    public void setMttpIconTint(StateElement mttpIconTint) {
        this.mttpIconTint = mttpIconTint;
    }

    public int getMttpIconTintMode() {
        return mttpIconTintMode;
    }

    public void setMttpIconTintMode(int mttpIconTintMode) {
        this.mttpIconTintMode = mttpIconTintMode;
    }

    public int getMttpTarget() {
        return mttpTarget;
    }

    public void setMttpTarget(int mttpTarget) {
        this.mttpTarget = mttpTarget;
    }

    public int getMttpIconColourFilter() {
        return mttpIconColourFilter;
    }

    public void setMttpIconColourFilter(int mttpIconColourFilter) {
        this.mttpIconColourFilter = mttpIconColourFilter;
    }
}
